var $custDetail = $('#custDetail'); //公司资料
var $contactListDetail = $('#contactListDetail'); //外训联系人
var $inTContactListDetail = $('#inTContactListDetail'); //内训联系人
var customerPoolId = $('#customerPoolId').text();
var customerId = $('#customerId').text();
var customerCompanyInfoId = "";
var scoreLevel = $("#scoreId").val();

var bs;


//防止表头与表格不对齐
$(window).resize(function () {
    $custDetail.bootstrapTable('resetView');
    $contactListDetail.bootstrapTable('resetView');
    $inTContactListDetail.bootstrapTable('resetView');
});

/**
 * 功能：标签回显
 * */
function tagsShow(data) {
    if (data) {
        var tagsArr = data.split(',');
        $('#tagsBox').html('');
        $.each(tagsArr, function (index, element) {
            $('#tagsBox').append('<span>' + element + '</span>');
        });
    } else {
        $('#tagsBox').html('<span class="no-tag">暂无标签</span>');
    }
}

$(function () {

    $('select').selectpicker({
        size: 12
    });
    $('.modal').on('hidden.bs.modal', function () {
        $(this).find('select').selectpicker('refresh');
    }).on('show.bs.modal', function () {
        $(this).find('select').selectpicker('refresh');
    });
    // 标签回显
    tagsShow(customer.tag);

    // $('#editInfoModal').modal('show');

    $('#moreInfo').on('shown.bs.collapse', function () {
        $('#btnCollapse').html('点击收起 <i class="mdi mdi-chevron-double-up"></i>');
    }).on('hidden.bs.collapse', function () {
        $('#btnCollapse').html('更多详情 <i class="mdi mdi-chevron-double-down"></i>');
    });

    $("#registrationTime").datepicker({
        language: "zh-CN",
        autoclose: true,
        clearBtn: true,
        todayHighlight: true,
        format: "yyyy-mm-dd"
    });

    contactListc('1');

    $('#tag').on('itemRemoved', function(event) {
        if ($(this).val() == '') {
            $(this).attr('value', $(this).val());
        }
    });

    // 解决table中点击行选中与checkbox冲突问题
    $('table').on('load-success.bs.table', function (e,data) {
        $(e.target).find('label.lyear-checkbox').on('click', function (e) {
            e.stopPropagation();
        })
    });

    $('.tagsinput').on('itemAdded', function(event) {
        // 添加标签
        var tagStr = $(this).val();
        baseInfo('2', tagStr)
    }).on('itemRemoved', function(event) {
        var tagStr = $(this).val();
        // 删除标签
        baseInfo('2', tagStr)
    })


    $('#usedNameModal').on('show.bs.modal', function () {
        formerName();
    })

});

//
function getTel(name, phone) {
    $("#budgetDirector").val(name);
    $("#directorInformation").val(phone);
    $('#directorInformation').change()
    $('#budgetDirector').change()
    $("#nameBox").css("display", 'none');

    // 验证表单
    var bootstrapValidator = $("#competitorForm").data('bootstrapValidator');
    if (bootstrapValidator) {
        bootstrapValidator.updateStatus('budgetDirector', 'NOT_VALIDATED').validateField('budgetDirector');
        bootstrapValidator.updateStatus('directorInformation', 'NOT_VALIDATED').validateField('directorInformation');
    }
}

//显示公司简介信息
function companyInfo(num){
    $.ajax({
        url: '/customer/companyInfo',
        type: 'POST',
        dataType: "json",
        data: {
            customer_id: customerId,
        },
        success: (function (data) {
            if (data.code == "000000") {
                if (data.data) {
                    customerCompanyInfoId = data.data.customerCompanyInfoId;
                    if(num == 1) {
                        if(customerCompanyInfoId != null) {
                            $("#companyProfileE").val(data.data.companyProfile);  //公司简介
                            $("#companyIncomeE").val(data.data.companyIncome); //公司收益
                            $("#companyNumberE").val(data.data.companyNumber); //公司数量
                            $("#productServiceNumberE").val(data.data.productServiceNumber); //产品服务数量
                            $("#financingSituationE").val(data.data.financingSituation); //融资情况
                            $("#upstreamCompanyE").val(data.data.upstreamCompany || '暂无信息');//上游公司
                            $("#downstreamCompanyE").val(data.data.downstreamCompany);//下游公司
                        }
                    }else{
                        $("#companyProfile").html(data.data.companyProfile || '暂无信息');  //公司简介
                        $("#companyIncome").html(data.data.companyIncome || '暂无信息');//公司收益
                        $("#companyNumber").html(data.data.companyNumber || '暂无信息');//公司数量
                        $("#productServiceNumber").html(data.data.productServiceNumber || '暂无信息');//产品服务数量
                        $("#financingSituation").html(data.data.financingSituation || '暂无信息');//融资情况
                        $("#upstreamCompany").html(data.data.upstreamCompany || '暂无信息');//上游公司
                        $("#downstreamCompany").html(data.data.downstreamCompany || '暂无信息');//下游公司

                        var infoContent = $('#companyProfile').height();
                        if (infoContent > 84) {
                            var moreBtn = '<a href="#!" class="btn-more">展开</a>'
                            $('#companyProfile').addClass('more').append(moreBtn);
                            $('#companyProfile').on('click', '.btn-more', function () {
                                $('#companyProfile').toggleClass('show');
                            });
                        }

                    }
                }
            } else {
                $.alert("请求失败");
            }
        }),
        error: (function (res) {
            $.alert("请求失败");
        })
    })
}

//公司资料
function companyInformationc(seniorExecutive){
    //先销毁表格
    $custDetail.bootstrapTable('destroy');
    $custDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customer/customerContactPersonList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'create_tm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'customerContactPersonId',
        idField: 'customerContactPersonId',
        pageSize: 5,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[5]",//可供选择的每页的行数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                customer_id: customerId,
                isSeniorExecutive: seniorExecutive,
                abolishState :1
            };
            return temp;
        },
        columns: [
            {title: '主键', field: 'customerContactPersonId', visible: false},
            {title: '序号', field: 'index', align: 'left', width: '60', valign: 'middle', formatter: indexFormat},
            {title: '姓名',field: 'contactName',align: 'left', valign: 'middle'},
            {title: '职务', field: 'contactPosition',  align: 'left', valign: 'middle',formatter: contactPositionFormat},
            {title: '在职情况', field: 'onTheJobSituation', align: 'left', valign: 'middle',formatter: poolTypeFormat},
            {title: '联系方式', field: 'contactInformation', align: 'left', valign: 'middle'}
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords //总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                $.alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                $.alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

function indexFormat(value, row, index) {
    return index + 1;
}

/**
 * 联系人类型(在职 0  离职 1)
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function poolTypeFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (0 == value) {
        return "<span class='label label-success-light'>在职</span>";
    } else if (1 == value) {
        return "<span class='label label-info-light'>离职</span>";
    }
}

/**
 * 职务
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function contactPositionFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (0 == value) {
        return "<span class='label label-success-light'>公司管理</span>";
    } else if (1 == value) {
        return "<span class='label label-yellow-light'>财务</span>";
    } else if (2 == value) {
        return "<span class='label label-yellow-light'>人力</span>";
    } else if (3 == value) {
        return "<span class='label label-yellow-light'>其他</span>";
    }
}

//外训联系人
function contactListc(seniorExecutive){
    //先销毁表格
    $contactListDetail.bootstrapTable('destroy');
    $contactListDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customer/customerContactPersonList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'create_tm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'customerContactPersonId',
        idField: 'customerContactPersonId',
        pageSize: 5,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[5, 10, 15, 20]",//可供选择的每页的行数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                customer_id: customerId,
                isSeniorExecutive: seniorExecutive,
                abolishState: 1,    // 1-不查询废止的  2-查询废止的
            };
            return temp;
        },
        columns: [
            {title: '主键', field: 'customerContactPersonId', visible: false},
            {title: '序号', field: 'index', align: 'left', width: '60', valign: 'middle', formatter: indexFormat},
            {title: '姓名',field: 'contactName',align: 'left', valign: 'middle'},
            {title: '职务', field: 'contactPosition',  align: 'left', valign: 'middle',formatter: contactPositionFormat},
            {title: '在职情况', field: 'onTheJobSituation', align: 'left', valign: 'middle',formatter: poolTypeFormat},
            {title: '联系方式', field: 'contactInformation', align: 'left', valign: 'middle',visible: true,
                formatter: function (value,row) {
                    var telBtn = '';
                    if (value) {
                        telBtn += '<button class="tel-button" onclick="callCenter(\'' + value + '\',\'' + row.customerContactPersonId + '\',\'' + row.contactName + '\',8);"><i class="mdi mdi-phone"></i></button>';
                    }
                    return transTelNumber(value) + telBtn;
                }
            },
            {title: '联系人类型', field: 'contactState', align: 'left', valign: 'middle',formatter:contactStateFormat},
            {title: '邮箱', field: 'mailBox', align: 'left', valign: 'middle'},
            {title: '微信', field: 'wx', align: 'left', valign: 'middle'}
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                $.alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                $.alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

//内训联系人
function inTContactList(){
    //先销毁表格
    $inTContactListDetail.bootstrapTable('destroy');
    $inTContactListDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/internalTrainingManager/contactList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: false,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'create_tm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'contactId',
        idField: 'contactId',
        pageSize: 5,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[5, 10, 15, 20]",//可供选择的每页的行数
        queryParams: function (params) {
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                customerId: customerId
            };
            return temp;
        },
        columns: [
            {title: '主键', field: 'customerContactPersonId', visible: false},
            {title: '序号', field: 'index', align: 'left', width: '60', valign: 'middle', formatter: indexFormat},
            {title: '姓名',field: 'contactName',align: 'left', valign: 'middle'},
            {title: '联系方式', field: 'contactInformation', align: 'left', valign: 'middle',visible: true,
                formatter: function (value,row) {
                    var telBtn = '';
                    if (value) {
                        telBtn += '<button class="tel-button" onclick="callCenter(\'' + value + '\',\'' + row.customerContactPersonId + '\',\'' + row.contactName + '\',7);"><i class="mdi mdi-phone"></i></button>';
                    }
                    return transTelNumber(value) + telBtn;
                }
            }
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                $.alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                $.alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}



/**
 * 联系人类型(主联系人1  从联系人2)
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function contactStateFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (1 == value) {
        return "<span class='label label-success-light'>主</span>";
    } else if (2 == value) {
        return "<span class='label label-info-light'>从</span>";
    }
}

function addContactPerson(){

}

// 拨打电话
function callCenter(value, customerContactPersonId,contactName,followType) {
    var data = [{
        contactInformation: value,
        customerContactPersonId,
        contactName:contactName
    }];  // 需要传递给电话弹窗的相关数据
    console.log(data)
    window.parent.callModal(customerId, data, followType);
}


function submitContact() {
    $('.form-horizontal').bootstrapValidator({
        fields: {
            contactName: {
                validators: {
                    notEmpty: {
                        message: '联系人姓名不能为空'
                    },

                }
            },
            contactInformation: {
                validators: {
                    notEmpty: {
                        message: '联系方式不能为空'
                    }
                }
            },

        },
    })
    $(".form-horizontal").bootstrapValidator('validate');//提交验证
    if (!$(".form-horizontal").data('bootstrapValidator').isValid()) {//获取验证结果，如果成功，执行下面代码

        return;
    }
    let jsonData={
        contactName:$("#contactName").val(),
        contactInformation:$("#contactInformation").val(),
        customerId:customerId
    }
    $.ajax({
        url: '/internalTrainingManager/insertNxContact',
        type: 'POST',
        dataType: "json",
        // contentType: "application/json;charset=utf-8",
        data: jsonData,
        success:function (res) {
            if(res.code=='000000'){

                // $.alert('操作成功')
                $.alert({
                    title: '提示',
                    content: '操作成功',
                    buttons: {
                        confirm: {
                            text: '确认',
                            btnClass: 'btn-primary',
                            action: function () {
                                $("#addContact").modal('hide')
                                $inTContactListDetail.bootstrapTable('refresh');
                            }
                        }
                    }
                })

            }else{
                $.alert(res.message)
            }
        },
        error:function (err) {
            $.alert(err.message)
        }
    })
}

$('#addContact').on('hide.bs.modal', function () {

    $("#contactName").val('')
    $("#contactInformation").val('')
    if($('.form-horizontal').data('bootstrapValidator')!=undefined){
        $(".form-horizontal").data('bootstrapValidator').destroy();
        $('.form-horizontal').data('bootstrapValidator', null);

    }
})
